/*
 * @lc app=leetcode.cn id=73 lang=cpp
 *
 * [73] 矩阵置零
 */

// @lc code=start
class Solution {
public:
    void setZeroes(vector<vector<int>>& matrix) {

        int col = matrix[0].size();         // 列数
        int row = matrix.size();            // 行数

        unordered_map<int,int> zerocol;
        unordered_map<int,int> zerorow;

        for(int i = 0 ; i < row ; i++)
        {
            for(int j = 0;j < col ; j++)
            {
                if(matrix[i][j] == 0)
                {
                    zerocol[j]++;
                    zerorow[i]++;
                }
            }
        }

        for(int i = 0 ; i < row ; i++)
        {
            for(int j = 0;j < col ; j++)
            {
                if(zerorow.count(i) > 0 || zerocol.count(j) > 0)
                    matrix[i][j] = 0;
            }
        }

    }
};
// @lc code=end

